/* components */
import TaskAllotExecutorComponents from '@src/modules/task/components/TaskAllotModal/TaskAllotExcutor/TaskAllotExecutorComponents'
/* entity */
import TaskConfig from '@model/config/TaskConfig'
import Tag from '@model/entity/Tag/Tag'
import Customer from '@model/entity/Customer'
import TaskType from '@model/entity/TaskType'
import LoginUser from '@model/entity/LoginUser/LoginUser'
/* model */
import { TaskAllotTypeModeEnum, ICreateEditTask } from '@src/modules/task/components/TaskAllotModal/TaskAllotModalModel'
/* vue */
import { Prop } from 'vue-property-decorator'
/* types */
import StateColorMap from '@model/types/StateColor'

class TaskAllotExecutorProps extends TaskAllotExecutorComponents {
  /* 异常列表 */
  @Prop({ default: ()=>[] }) readonly backList: string[] | undefined
  /* 转派选择的原因 */
  @Prop({ default: '' }) readonly customReason: string | undefined
  /* 客户信息 */
  @Prop() readonly customer: Customer | undefined
  /* 负责人信息信息 */
  @Prop() readonly executor: LoginUser | undefined
  /* 是否为转派 */
  @Prop() readonly isReAllot: boolean | undefined
  /* 是否显示协同人 */
  @Prop() readonly isShowSynergy: boolean | undefined
  /* 派单方式 模式(列表，地图) */
  @Prop() readonly mode: TaskAllotTypeModeEnum | undefined
  /* 转派原因 */
  @Prop() readonly reason: string | undefined
  /* 工作状态颜色数组 */
  @Prop() readonly stateColorMap: StateColorMap | undefined
  /* 协同人列表 */
  @Prop() readonly synergyUserList: LoginUser[] | undefined
  /* 工单信息 */
  @Prop() readonly task: any | undefined
  /* 工单设置 */
  @Prop() readonly taskConfig: TaskConfig | undefined
  /* 工单类型列表 */
  @Prop() readonly taskTypesMap: { [x: string]: TaskType} | undefined
  /*判断是否配置 */ 
  @Prop() readonly systemAdmin: any | undefined
  /* 工单计划开始时间 */
  @Prop() readonly calendarStartTime: string | undefined
  /* 工单计划完成时间 */
  @Prop() readonly calendarEndTime: string | undefined
  /* 是否有工单编辑权限 */
  @Prop() readonly allowEditTask: any | undefined
  /* 转派原因是否必填 */ 
  @Prop() readonly notNull: boolean | undefined
  /* @人员 */ 
  @Prop() readonly atUsers: [] | undefined
  /* 新建、编辑工单相关数据 */ 
  @Prop() readonly createEditTask: ICreateEditTask = {}
}

export default TaskAllotExecutorProps